home *** CD-ROM | disk | FTP | other *** search
- {$O+}
-
- (*
- 01/10/90 Fixed bug in the "overlay detector"
- Ron Schuster [76666,2322]
- *)
-
- unit LookOBJ;
-
- interface
-
- function OBJitized ( I : integer ) : real;
- { Returns Ith component of OBJitized data array. }
-
- implementation
-
- uses
- OBJTypes;
-
- var
- ThisUnitIsOverlayed : boolean;
-
- type
- OBJitizedDataPtr = ^ OBJitizedDataType;
- OBJitizedDataPtrPtr = ^ OBJitizedDataPtr;
-
- procedure OBJitizedDataLink;
- external;
- {$L OBJitize.OBJ }
-
- function OBJitizedData : OBJitizedDataPtr;
- begin
- if ThisUnitIsOverlayed then
- OBJitizedData := OBJitizedDataPtrPtr (
- succ ( longint ( @ OBJitizedDataLink ) ) ) ^
- else
- OBJitizedData := @ OBJitizedDataLink;
- end;
-
- function OBJitized ( I : integer ) : real;
- begin
- OBJitized := OBJitizedData ^ [ I ];
- end;
-
- type
- WordPtr = ^ word;
- begin
- ThisUnitIsOverlayed := WordPtr ( $FFFF0000
- and longint ( @ OBJitizedDataLink ) ) ^
- = $3FCD;
- writeln ( 'This unit is overlayed: ', ThisUnitIsOverlayed );
- end.